package user;

import book.Book;
import book.Library;
import utils.ScannerSingLeton;

import java.time.LocalDate;
import java.util.Scanner;

public class AdimalUser extends User{
    public Scanner scanner;
    public Library library;
    @Override
    public int dispaly() {
        System.out.println("管理员 " + name + " 的操作菜单:");
        System.out.println("1. 查找图书");
        System.out.println("2. 打印所有的图书");
        System.out.println("3. 退出系统");
        System.out.println("4. 上架图书");
        System.out.println("5. 修改图书");
        System.out.println("6. 下架图书");
        System.out.println("7. 统计借阅次数");
        System.out.println("8. 查看最后欢迎的前K本书");
        System.out.println("9. 查看库存状态");
        System.out.println("10. 按类别统计图书 ");
        System.out.println("11. 按作者统计图书 ");
        System.out.println("12. 检查超过⼀年未下架的图书");
        System.out.println("请选择你的操作：");
        return scanner.nextInt();
    }

    public AdimalUser(String name,int userID) {
        super(name, "管理员", userID);
        scanner = ScannerSingLeton.scannerget();
        library = Library.getLibrary();
    }
    public void addBook() {
        System.out.println("管理员类addbook方法执行了");
        scanner.nextLine();
        System.out.println("请输入书名");
        String title = scanner.nextLine(); // 输⼊书名
        System.out.println("请输⼊作者：");
        String author = scanner.nextLine(); // 输⼊作者
        System.out.println("请输⼊类别：");
        String category = scanner.nextLine(); // 输⼊图书类别
        System.out.println("请输⼊出版年份：");
        int year = scanner.nextInt(); // 输⼊出版年份
        scanner.nextLine(); // 吞掉换⾏符
        LocalDate shelfDate = LocalDate.now(); // 当前时间作为上架时间
        // 创建新书对象
        Book book = new Book(title,author,category,year, shelfDate);
        //调⽤图书类 添加图书
        library.addBook(book);
    }
    //图书修改 ⽀持修改书名 作者 类别
    public void updateBook() {
        library.diaplayBook();
        System.out.println("请输⼊要修改的图书id：");
        int bookId = scanner.nextInt();
// 吞掉换⾏符
        scanner.nextLine();
// 获取对应的图书
        Book book = library.searchById(bookId);
        if(book == null) {
            System.out.println("没有ID为："+bookId+" 的书籍！");
            return;
        }
        System.out.println("当前书名：" + book.getTitle());
        System.out.println("请输⼊新的书名：");
        String newTitle = scanner.nextLine(); // 输⼊新的书名
        System.out.println("当前作者：" + book.getAuthor());
        System.out.println("请输⼊新的作者：");
        String newAuthor = scanner.nextLine(); // 输⼊新的作者
        System.out.println("当前类别：" + book.getCategory());
        System.out.println("请输⼊新的类别：");
        String newCategory = scanner.nextLine(); // 输⼊新的类别
//更新对应书籍的信息
        book.setTitle(newTitle);
        book.setAuthor(newAuthor);
        book.setCategory(newCategory);
        library.updateBook(book);
    }
    //删除书籍
    public void removeBook() {
        library.diaplayBook();
        System.out.println("输入要删去的ID");
        int bookId = scanner.nextInt();
        scanner.nextLine(); // 吞掉换⾏符
//记录⼀下删除的图书对象
        Book removeBook =library.searchById(bookId);
//开始删除
        if(removeBook == null){
            System.out.println("no result");
            return;
        }
        library.removeBook(bookId);
        System.out.println("图书："+removeBook.getTitle()+" 已经被删除！");
    }
    //统计每本书的借阅次数
    public void borrowCount() {
        library.borrowCount();
    }
    //查询最受欢迎的前n本书
    public void generateBook() {
        System.out.println("请输入你想查看最受欢迎的前K本书，注意K不能超过" + library.bookCount);
        int k = scanner.nextInt();
        if(k <= 0 || k > library.bookCount){
            System.out.println("没有受欢迎的前" + k + "本书");
            return;
        }
        library.generateBook(k);
    }
    //查看库存状态
    public void checkInventoryStatus() {
        library.checkInventoryStatus();
    }
    //按照类别 统计图书
    public void categorizeBooksByCategory() {
    }

    //按照作者统计图书
    public void categorizeBooksByAuthor() {
    }
    //并移除上架超过⼀年的图书
    public void checkAndRemoveOldBooks() {
        library.checkAndRemoveOldBooks();
    }
    public void exit() {
    }

}
